package com.lee.dhsg.service.impl;

import com.lee.dhsg.dao.CategoryDao;
import com.lee.dhsg.domain.Category;
import com.lee.dhsg.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 该服务层接口用于实现类别相关的业务
 * 1、查询所有一级类别
 * 2、查询某一级类别下的所有二级类别
 * 3、通过类别 id 查询并获取该类别对象
 * 4、通过父级类别id 查询子级类别id
 *
 * @author Lee
 */

@Service("categoryService")
public class CategoryServiceImpl implements CategoryService {

    @Autowired
    private CategoryDao categoryDao;

    /**
     * 1、查询所有一级类别
     *
     * @return
     */
    @Override
    public List<Category> selectAllFirstCategory() {

        List<Category> category = categoryDao.findMain();
        return category;

    }

    /**
     * 2、查询某一级类别下的所有二级类别
     *
     * @param firstCategoryid
     * @return
     */
    @Override
    public List<Category> selectAllSecondCategoryByFirstCategoryId(Integer firstCategoryid) {

        List<Category> categories = categoryDao.findChild(firstCategoryid);
        return categories;

    }

    /**
     * 3、通过类别 id 查询并获取该类别对象
     *
     * @param categoryId
     * @return
     */
    @Override
    public Category selectByCategoryId(Integer categoryId) {

        return categoryDao.selectById(categoryId);

    }

    /**
     * 4、通过父级类别id 查询子级类别id
     */
    public List<Integer> selectCategoryidByFcategoryid(Integer fcategoryid) {

        return categoryDao.selectByFcategoryid(fcategoryid);

    }
}
